using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("RankedRewardChest")]
	public class RankedRewardChest : MonoBehaviour
	{
		public GameObject m_starDestinationBone => method_3<GameObject>("m_starDestinationBone");

		public MeshRenderer m_baseMeshRenderer => method_3<MeshRenderer>("m_baseMeshRenderer");

		public MeshRenderer m_glowMeshRenderer => method_3<MeshRenderer>("m_glowMeshRenderer");

		public List<ChestVisual> m_chests => method_3<Class271<ChestVisual>>("m_chests")?.method_25();

		public UberText m_rankNumber => method_3<UberText>("m_rankNumber");

		public UberText m_rankBanner => method_3<UberText>("m_rankBanner");

		public GameObject m_legendaryGem => method_3<GameObject>("m_legendaryGem");

		public static int NUM_REWARD_TIERS => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "RankedRewardChest", "NUM_REWARD_TIERS");

		public static string s_rewardChestEarnedText => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "RankedRewardChest", "s_rewardChestEarnedText");

		public static string s_rewardChestNameText => MonoClass.smethod_8(TritonHs.MainAssemblyPath, "", "RankedRewardChest", "s_rewardChestNameText");

		public RankedRewardChest(IntPtr address, string className)
			: base(address, className)
		{
		}

		public RankedRewardChest(IntPtr address)
			: this(address, "RankedRewardChest")
		{
		}

		public static int GetChestIndexFromRank(int rank)
		{
			return MonoClass.smethod_14<int>(TritonHs.MainAssemblyPath, "", "RankedRewardChest", "GetChestIndexFromRank", new object[1] { rank });
		}

		public static string GetChestNameFromRank(int rank)
		{
			return MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "RankedRewardChest", "GetChestNameFromRank", rank);
		}

		public static string GetChestEarnedFromRank(int rank)
		{
			return MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "RankedRewardChest", "GetChestEarnedFromRank", rank);
		}

		public ChestVisual GetChestVisualFromRank(int rank)
		{
			return method_14<ChestVisual>("GetChestVisualFromRank", new object[1] { rank });
		}

		public bool DoesChestVisualChange(int rank1, int rank2)
		{
			return method_11<bool>("DoesChestVisualChange", new object[2] { rank1, rank2 });
		}

		public void SetRank(int rank)
		{
			method_8("SetRank", rank);
		}
	}
}
